The present invention relates to improvements in disc file systems and, more particularly, the invention relates to improving the accuracy of seek operations within such disc file system.
Disc file systems forms an important portion in computer systems, terminals, minicomputers, or the like. As a whole, they constitute memory extensions and in- and output equipment for the main frame of such a facility. Usually, the disc file system includes at least one disc with a magnetic coating on one or both sides, and if the system is of the movable arm variety, a transducer or transducer assembly can be positioned in selected radial distances from the center of rotation of the disc surface. The transducer as so positioned cooperates and electromagnetically interacts with a particular track, also called a cylinder if the particular system includes plural discs or disc packs. Moving the transducer with its arm into alignment with a different track requires usually rapid actuation and movement of the transducer carrier in radial direction to or from the center of rotation. This operation is commonly referred to as a seek operation.
One or more such disc files, each having a single linear motor for moving the transducer or transducer assembly are usually connected to a command or control unit which, on one side, interfaces with the computer or other digital equipment facility for receiving and accepting data for purposes of disc storage. Data retrieved from a disc file pass also through the control or command unit, usually for storage in a random access storage device of the computer, terminal, etc.
In addition, the control or command unit will receive control signals for purposes of initiating the necessary accessing operation to a particular cylinder. The control or command unit, on the other hand, provides for the particular control of one or more of such disc files, including the necessary seek operation.
In order to move the or a transducer to a different position pursuant to such a seek operation, the control and command unit will issue particular signals to be used in and by the control circuit for the linear motor in order to move the transducer or transducer assembly from one particular position to another particular position. It is, of course, apparent that these positions are very accurately defined and the motion must be carried out with an accuracy commensurate with the track spacing and width.
Various control circuits for such accurate position control are known including also rapid movement control for the transducer to effect a change in track alignment or cylinder position as fast as possible. These control circuits work basically in feedback loops in that in one form or another the current position of the transducer is being tracked during the radial movement. Output signals are produced representing in each instance the exact cylinder position of the transducer and arm assembly. The span to be covered as between old and new cylinder position is also commonly referred to as cylinder difference. This difference is provided by the command unit and will serve basically as a command input for the feedback control. The position signals of the transducer are fed back to the control circuit and, in effect, represent in any instant how the seek command is being carried out.
It is common practice to have the control circuit process the cylinder difference signal and the feedback signal so that the transducer will be moved into the exact position. In simpler disc files, by way of example, the cylinder difference is commanded by a train of pulses, the exact number of which represents the cylinder difference, and a directional component or signal is furnished separately to determine the direction of movement from the current cylinder position. The transducer carriage cooperates with some form of grating which is being scanned in one form or another in representation of the position and change in position of the transducer head assembly. Each pulse may, for example, represent passage of the transducer assembly across one track. Ultimately then, it is necessary that the transducer head assembly passes over the same number of tracks which was previously commanded by the number of pulses issued by the command unit representing the cylinder difference to be sought. The control circuit, therefor, is generally designed for processing these two pulse trains and to extract therefrom command signals for the motor control circuit proper so that the transducer carriage motor is stopped precisely after that number of tracks has been crossed.
The two pulse trains in question now occur with respect to each other completely asynchronously. Moreover, it is to be expected that the feedback pulses, often also referred to as detent pulses, vary greatly in length and rate because the linear motor moves in a non-constant speed for moving the transducer head from one cylinder position to another. Particularly for obtaining a position change in the shortest possible time, one will accelerate the linear motor for half of the tracks to be crossed and brake for the remainder. Thus, the feedback or detent pulses, representing position and position changes, will be of long duration, and will occur relatively far apart at the beginning and towards the end of the actual transducer movement while the feedback or detent pulses appear in a very rapid rate, in about the middle of such a position change operation. On the other hand, the pulses issued by the command unit and representing the cylinder difference in execution of the seek command will normally be quite uniform and will appear at a particular constant rate. These pulses are also referred to as step pulses. However, in order to have greater versatility as far as adapting disc files and command units to each other, it is also conceivable that these step pulses occur one at the time or irregular.
It can readily be seen that the step pulses, that is the cylinder difference command pulses, and the feedback or detent pulses, will overlap, and since they are to be used within the same circuit any overlaps and mutual interference is quite possible, unless particular provisions are being taken.
As far as processing these pulses is concerned, one may proceed as follows. The cylinder difference command or step pulses are counted, for example, upcounted. The detent pulses are subtracted from that count result, and the transducer has arrived at the desired cylinder position, when the count result has been reduced to zero. It is obviously imparitive that these two count processes must not interfere, and that every single pulse is, in fact, accounted for. This has posed difficulties in the past and significant constraints have been called for with regard to the relation and timing to these pulses.